// pages/notice/notice.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    backendUrl: 'http://127.0.0.1:88/api/user/',
    notices: [],
    page: 1,
    limit: 10,
    loading: false,
    hasMore: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadNotices();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.loadNotices(true);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    this.loadNotices();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 加载公告列表
  loadNotices(refresh = false) {
    if (this.data.loading || (!refresh && !this.data.hasMore)) return;

    this.setData({ loading: true });
    wx.request({
      url: this.data.backendUrl + 'get_notices.php',
      data: {
        page: refresh ? 1 : this.data.page,
        limit: this.data.limit
      },
      success: (res) => {
        if (res.data.status === 'success') {
          const newNotices = res.data.notices;
          this.setData({
            notices: refresh ? newNotices : [...this.data.notices, ...newNotices],
            page: refresh ? 2 : this.data.page + 1,
            hasMore: newNotices.length === this.data.limit
          });
        }
      },
      complete: () => {
        this.setData({ loading: false });
        if (refresh) {
          wx.stopPullDownRefresh();
        }
      }
    });
  },

  // 查看公告详情
  viewNotice(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/notice-detail/notice-detail?id=${id}`
    });
  }
})